package com.harmontronics.hanma.paas.paas.domain.app.repository.po;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.harmontronics.hanma.paas.paas.consts.HttpMethodEnum;
import com.harmontronics.hanma.paas.paas.domain.app.entity.valueobject.BodyTypeEnum;
import com.harmontronics.hanma.paas.paas.domain.app.entity.valueobject.BusinessServiceTypeEnum;
import com.harmontronics.hanma.paas.paas.domain.app.entity.valueobject.HttpRequestDefinitionTypeEnum;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 请求定义
 *
 * @author paas-generator
 * @email paas-generator@harmontronics.com
 * @date 2021-05-18 10:20:57
 */
@Data
@TableName("hm_http_request_definition")
public class HmHttpRequestDefinitionPO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * $column.comments
     */
    @TableId
    private Long id;
    /**
     * 请求类型
     */
    @TableField("type_")
    private HttpRequestDefinitionTypeEnum type;
    /**
     * 请求key
     */
    @TableField("key_")
    private String key;
    /**
     * 请求名称
     */
    private String name;
    /**
     * 说明
     */
    private String remark;
    /**
     * http请求method
     */
    private HttpMethodEnum method;
    /**
     * 请求路径
     */
    private String path;
    /**
     * 请求头
     */
    private String header;
    /**
     * 请求体
     */
    private String body;

    /**
     * 请求体类型
     */
    private BodyTypeEnum bodyType;
    /**
     * 查询值
     */
    private String query;
    /**
     * 返回值
     */
    private String response;
    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createDate;
    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String modifyBy;
    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime modifyDate;

    /**
     * 模型ID
     */
    private Long modelId;

    /**
     * 服务类型
     */
    private BusinessServiceTypeEnum serviceType;

    /**
     * 服务方式  仅正对脚本
     */
    private String serviceWay;

    /**
     * 脚本ID
     */
    private Long scriptId;


}
